package contest1620;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.PrintWriter;
import java.util.Scanner;

public class C {
    static Scanner cin = new Scanner(new BufferedInputStream(System.in));//大量输入优化版本
    static PrintWriter cout = new PrintWriter(new BufferedOutputStream(System.out));//大量输出优化版本
    static PrintWriter cerr = new PrintWriter(System.err, true);//开启调试模式,一般输出量不大，不需要buffered

    public static void main(String[] args) {
        //TODO AOJ开启你的ACM传奇人生
        cerr.println("----Start your ACM legendary life with AOJ(www.webturing.com)----");
        long n = cin.nextLong(), left = (long) Math.cbrt(n), right = n;
        long best = left;
        while (left <= right) {
            cerr.println(String.format("[%d %d]", left, right));
            long m = (left + right) / 2;
            long s = m * m * (m + 1) * (m + 1) / 4;
            if (s > n) {
                right = m - 1;
            } else {
                best = Math.max(best, m);
                left = m + 1;
            }
        }
        cout.println(best);
        cin.close();//关闭输入流
        cout.close();//关闭输出流，这是必须的，否则一般不会自动刷新缓冲区


    }
}
